home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Unicode.idl < prev    next >
Text File  |  1996-05-01  |  4KB  |  141 lines

  1. /*
  2.      File:        Unicode.idl
  3.  
  4.      Contains:    Unicode Interfaces.
  5.  
  6.      Version:    Technology:    System 7.1 through System 8
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __UNICODE_IDL__
  19. #define __UNICODE_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __TEXTCOMMON_IDL__
  28. #include <TextCommon.idl>
  29. #endif
  30. #ifndef __MIXEDMODE_IDL__
  31. #include <MixedMode.idl>
  32. #endif
  33.  
  34. #ifdef __SOMIDL__
  35.  
  36. #if 0
  37. /*
  38.  The following 7 typedefs are required for seeds until they get
  39.  moved to a future version of Types.[hp] in a future ETO release.
  40.  Also note that seeds should include a copy of the new TextCommon.[hp].
  41. */
  42. typedef OpaquePtr                BytePtr;                    /* Substituted OpaquePtr for ``UInt8*'' */
  43.  
  44. typedef UInt32                    ByteCount;
  45.  
  46. typedef UInt32                    ItemCount;
  47.  
  48. typedef UInt32                    OptionBits;
  49.  
  50. typedef short                    RegionCode;
  51.  
  52. typedef UInt32                    ByteOffset;
  53.  
  54. typedef OpaquePtr                ConstLogicalAddress;        /* Substituted OpaquePtr for ``void*'' */
  55.  
  56. /*
  57.  The following typedefs are required for seeds until they get
  58.  moved to a future version of Errors.[hp] in a future ETO release.
  59.  Unicode Converter Error Codes
  60. */
  61. #endif
  62. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  63. /* Unicode Converter Gestalt Constants: (****these belong in Gestalt.i****) */
  64. /* Basic types for Unicode characters and strings: */
  65. typedef OpaquePtr                UniCharArrayPtr;            /* Substituted OpaquePtr for ``UniChar*'' */
  66.  
  67. typedef OpaquePtr                ConstUniCharArrayPtr;        /* Substituted OpaquePtr for ``UniChar*'' */
  68.  
  69. /* Unicode conversion contexts: */
  70. typedef OpaquePtr                TextToUnicodeInfo;
  71.  
  72. typedef OpaquePtr                UnicodeToTextInfo;
  73.  
  74. typedef OpaquePtr                UnicodeToTextRunInfo;
  75.  
  76. typedef TextToUnicodeInfo        ConstTextToUnicodeInfo;
  77.  
  78. typedef UnicodeToTextInfo        ConstUnicodeToTextInfo;
  79.  
  80. /* UnicodeMapVersion type & values */
  81. typedef SInt32                    UnicodeMapVersion;
  82.  
  83. /* Types used in conversion */
  84. typedef SOMLargeStruct            UnicodeMapping;                /* Derived from a struct of 12 bytes in size */
  85.  
  86. typedef OpaquePtr                UnicodeMappingPtr;            /* Substituted OpaquePtr for ``UnicodeMapping*'' */
  87.  
  88. typedef OpaquePtr                ConstUnicodeMappingPtr;        /* Substituted OpaquePtr for ``UnicodeMapping*'' */
  89.  
  90. typedef SOMLargeStruct            TextEncodingRun;            /* Derived from a struct of 8 bytes in size */
  91.  
  92. /* Control flags for ConvertUnicodeToText and ConvertTextToUnicode */
  93. /* Values for kUnicodeDirectionality field */
  94. /* Control flags for TruncateForUnicodeToText: */
  95. /* Filter bits for QueryUnicodeMappings filter field: */
  96. /* Control flags for SetFallbackUnicodeToText */
  97. /* values for kUnicodeFallbackSequencing field */
  98. #endif
  99. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  100. /* Caller-supplied entry point to a fallback handler */
  101. typedef OpaquePtr UnicodeToTextFallbackProcPtr;
  102. typedef OpaquePtr UnicodeToTextFallbackUPP;
  103. #endif
  104. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  105. typedef OpaquePtr UnicodeToTextFallbackPreemptiveProcPtr;
  106. /* Function prototypes */
  107. /*
  108.  The following are in TextCommon.i:
  109.  CreateTextEncoding, GetTextEncodingBase, GetTextEncodingVariant, GetTextEncodingFormat
  110. */
  111. /* Create a new TextToUnicodeInfo structure. */
  112. /* Create a new UnicodeToTextInfo structure. */
  113. /* Dispose of a TextToUnicodeInfo structure. */
  114. /* Dispose of a UnicodeToTextInfo structure. */
  115. /* Convert a string to Unicode. */
  116. /* Convert a string from Unicode. */
  117. /* Truncate a multibyte string at a safe place. */
  118. /* Truncate a Unicode string at a safe place. */
  119. /* Convert a Pascal string to Unicode. */
  120. /* Convert a Unicode string to Pascal. */
  121. /* Get a list of the available conversion mappings. */
  122. /* Get the name of a TextEncodingBase table. */
  123. /* Change the TextToUnicodeInfo to another mapping. */
  124. /* Change the UnicodeToTextInfo to another mapping. */
  125. #endif
  126. #if FOR_SYSTEM8_PREEMPTIVE
  127. /* Setup the fallback handler for converting Unicode To Text. */
  128. #endif
  129. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  130. /* Setup the fallback handler for converting Unicode To Text. */
  131. /*
  132.  The following are in TextCommon.i:
  133.  UpgradeScriptInfoToTextEncoding, RevertTextEncodingToScriptInfo
  134. */
  135. #endif
  136.  
  137. #endif /* __SOMIDL__ */
  138.  
  139. #endif /* __UNICODE_IDL__ */
  140.  
  141.